Skip to content

[codex] Add shared API SDK MCP shape profile - #2

Draft
jadenfix wants to merge 13 commits into
mainfrom
codex/ecosystem-api-sdk-mcp-shape
Draft

jadenfix wants to merge 13 commits into
mainfrom
codex/ecosystem-api-sdk-mcp-shape

Conversation

@jadenfix

@jadenfix jadenfix commented Jul 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Add the shared API, SDK, and MCP shape profile for ecosystem services.
  • Add drift/audit scripts for OpenAPI shape, API contract conflicts, client-surface manifests, binaries, and architecture uniformity.
  • Enforce the shared HTTP contract: Bearer auth on non-health routes, shared error envelopes, required ErrorBody fields code, message, status, details, request_id, and retryable, cursor pagination fields, Operation without top-level job_id, and transport-native JSON-RPC auth errors for POST /mcp.
  • Require client-surface manifests to use base_url, token, timeout_ms, shared CLI flags/env vars, and the same six-field normalized error shape.

Verification

  • python3 scripts/audit-client-surface.py --print-template cradle > /tmp/client-surface-template.json && python3 scripts/audit-client-surface.py /tmp/client-surface-template.json
  • python3 scripts/audit-client-surface.py docs/client-surface-manifest.example.json
  • python3 scripts/check-api-contracts.py --service data-engine --service cradle --service tempo ...
  • python3 scripts/audit-openapi-shape.py --enforce-auth /Users/jadenfix/data-engine/api/openapi.yaml
  • python3 scripts/audit-openapi-shape.py --enforce-auth /Users/jadenfix/.codex/worktrees/cradle-api-contract-alignment/sdks/openapi.json

@jadenfix
jadenfix force-pushed the codex/ecosystem-api-sdk-mcp-shape branch from 6956d5b to 98838ef Compare July 7, 2026 07:07

@jadenfix jadenfix left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed after the retryable-field fix. No remaining profile blockers found: the client-surface manifest schema/audit now requires the canonical ErrorBody fields code, message, status, details, request_id, and retryable, and the contract checker passes against data-engine, Cradle, and Tempo MCP catalogs. GitHub will not let this account approve its own PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant